Nom : Infinity Textures

Version : 1.3.0

Disponibilit : http://www.i-tex.de

Protection : - Compress et crypt avec un programme maison
             - Nagscreen
             - Trial period (21 days)

Target : Infinity.exe (617472 Octets)

Outils : Softice 3.25
         Brain

Contact me : Samsoul99@Hotmail.com
       
Infinity textures est un programme trs pratique pour tous les dessinateurs . Comme 
son nom l'indique , il permet de gnrer des textures .Il a le mrite d'tre simple 
d'utilisation et dot d'une bonne puissance .La protection du soft possde plusieurs 
points : une premire approche (en desassemblant le .exe) nous permet de constater que 
les programmeurs ont crypt leur soft . Il n'est pas possible de dsassembler le .exe 
car le code est compress et crypt par la mme occasion .Nous voyons aussi que le soft 
est protg par un nagscreen et une priode d'essai .

Nous aurions pu employer ProcDump pour dumper l'excutable en mmoire .Cela nous aurait 
permis d'avoir un excutable dcompress et donc de dsassembler le programme avec 
windasm .Mais c'est un travail difficile et pas trs vident pour les dbutants .De plus ,
ce n'est pas nessaissaire car le soft possde une bote d'enregistrement qui permet de 
dbrider le soft ...Nous allons donc utiliser notre debugger faboris pour trouver un 
serial correspondant  notre nom ...

Step 1 

Vous installez Infinity Textures et vous lancez le programme .Vous allez  l'option 
qui permet de taper un numro de srie et votre nom (option Help/Register).Vous tapez 
votre nom et un numro de srie bidon .Avant de validez ,vous faites surgir Softice 
en appuyant sur CTR+D .Nous allons utiliser le breakpoint HMEMCPY .
Sous Softice vous tapez BPX HMEMCPY .Vous relancez Softice en appyant sur F5 et vous 
validez votre serial en appuyant sur entre .Normalement Softice a du se remettre 
en route .

Step 2

Donc vous tes au dbut de la routine HMEMCPY qui est en fait une API de windows et pas 
notre programme .Nous sommes en fait dans le coeur de windows .Il faut donc revenir dans
le code du programme que nous voulons cracker .Pour cela nous allons utiliser la touche 
F12 pour remonter dans le code qui nous interresse .Il faut appuyer 12 FOIS sur F12 pour 
se retrouver juste aprs le call qui appelle l'API HMEMCPY .

Step 3

Si vous avez bien appuys 12 FOIS sur F12 ,vous devriez arriver  ceci :

004C99F7 CALL 004206a8--------------- Le call qui appelle HMEMCPY
004C99FC MOV EAX, [EBP-01D0]--------- Avec F12 on a atterrit ici  
004C9A02 CALL 00403E14
004C9A07 CMP EAX,05------------------ Test si notre nom est > 5
004C9A0A JL 004C9898----------------- non ! nous sautons en 4c9898 (bad boy !)
004C9A10 LEA EDX, [EBP-01D0]--------|
004C9A16 MOV EAX, [EBX+000001E8]    | C'est bon on continue le traitement de notre nom
004C9AlC CALL 004206A8--------------|
004C9A21 MOV EAX, [EBP-01D0]--------- On traite maintenant le serial entr
004C9A27 CALL 00403E14
004C9A2C TEST EAX,EAX---------------- Il y a quelque chose dans le serial ?
004C9A2E JLE 004C9898---------------- non ! nous sautons en 4c9898 (bad boy !)
004C9A34 LEA EDX, [EBP-01D0]--------|
004C9A3A MOV EAX, [EBX+000001E0]    | C'est bon on continue le traitement de notre serial
004C9A40 CALL 004206A8--------------|
004C9A45 MOV EAX, [EBP-01D0]--------|
004C9A48 LEA EDX, [EBP-01D8]        |
004C9A51 CALL 004FlD80              | ici on gnre le serial en fonction du nom
004C9A56 MOV EAX, [EBP-01D8]        |
004C9A5C LEA EDX, [EBP-01D4]        |
004C9A62 CALL 004F34FC--------------|
004C9A67 MOV EAX, [EBP-01D4]  
004C9A6D PUSH EAX-------------------- *)( Serial ! )(*
004C9A6E LEA EDX, [EBP-01D0]--------| 
004C9A74 MOV EAX, [EBX+000001E8]    |
004C9A7A CALL 004206A8              | ici on compare le serial obtenu et celui entr
004C9A7F MOV EDX, [EBP-01D0]        | 
004C9A85 POP EAX                    |             avec le nom
004C9A86 CALL 00403F24--------------|               
004C9A88 JNZ 004C9898 --------------- C'est pas bon ! on saute (BAd BOy !)
004C9A91 MOV EDX, [004FElB8]--------- Sinon on continue ... 
004C9A97 MOV EDX, [EDX] 

Voil ! Vous avez tout sous les yeux ...En pressant 12 fois F12 vous devez atterrir juste 
derrire le call 004206a8 .En continuant de tracer le programme avec la touche F10 nous 
nous appercevons que le soft regarde si le nom que l'on a entr est suprieur  5  (adresse
4C9A07 ) .Si c'est bon on continue en traitant le serial que nous avons entr  .Le programme 
va dj tester si nous avons entr un serial (adresse 4C9A2C) .Si tout va bien nous continuons.
A l'adresse 4C9A45 le programme gnre le serial en fonction du nom .Et enfin  l'adresse 
4C9A6D nous avons le rsultat du serial en fonction de notre nom ...Pour le voir ,sous 
softice vous faites E EAX .Normalement softice doit vous indiquer un beau numro de serie ...
Pour moi ,j'obtiens :

Name   : Tamambolo#99                                        
Serial : FR7KP0E8PH 
